const path = require('path');

const sourceSrc = path.resolve(__dirname, './src/module');

const { defineConfig } = require('@vue/cli-service');
const configureWebpack = require('./webpack.config');

const BRAND_CONFIG = {
  id: 'duoduoyoucai',
  name: '华友钴业',
  nameShort: '华友钴业',
  /**
   * 一级域名
   * @type {String}
   */
  TDL: 'huayou.com',
  /**
   *  客服code
   * @type {String}
   */
  serviceCode: 'd62897edbc9077eeb0e3c9b306b6637d',
  /**
   * IOS Schema
   */
  iosSchema: 'szcapp',
  /**
   * Android Schema
   */
  androidSchema: 'szcapp',
};

module.exports = defineConfig({
  publicPath: process.env.NODE_ENV == "pro" ?
    '/mobile': "/",
  transpileDependencies: true,
  lintOnSave: false,
  configureWebpack,
  chainWebpack(webpackConfig) {
    webpackConfig.plugin('define').tap((options) => {
      options[0] = {
        ...options[0],
        BRAND_CONFIG: JSON.stringify(BRAND_CONFIG),
      };
      return options;
    });
  },
  pluginOptions: {
    'muti-dev': {
      sourceSrc,
      debug: true,
    },
    'muti-build': {
      sourceSrc,
      debug: false,
      report: false, // 生成analyzer 报告
      modern: false, // 是否启用现代模式（文件数double）
      // eslint-disable-next-line global-require
      concurrency: Math.abs(require('os').cpus().length / 2), // 多核
    },
  },
    devServer: {
    proxy: {
      //配置跨域
      '/scm': {
        target: "http://10.0.4.58", // 后台接口域名
        ws: true, //如果要代理 websockets，配置这个参数
        changOrigin: true, //是否跨域
        pathRewrite: {
            // '^/scm': '' // 要是写线上地址^/api后面没有属性值 在post请求的路径里面直接写/api/add 什么的 要是有属性值就要写/api/加api的属性值在加请求路径最后的理由
        }
    },
    //配置跨域
    '/pms': {
      target: "http://10.0.4.58", // 后台接口域名
      ws: true, //如果要代理 websockets，配置这个参数
      changOrigin: true, //是否跨域
      pathRewrite: {
          // '^/pms': '' // 要是写线上地址^/api后面没有属性值 在post请求的路径里面直接写/api/add 什么的 要是有属性值就要写/api/加api的属性值在加请求路径最后的理由
      }
  },
    }
  },
});
